\section{Gram\'atica de F}

\subsection{Tipos de tokens y sus definiciones}

\begin{itemize}
 \item NOTNATURAL $\rightarrow$ n\'umeros que no son naturales: \texttt{([-+]?[0-9]*$\backslash$.[0-9]+)|(-[0-9]+)}
 \item NATURAL $\rightarrow$ n\'umeros naturales: \texttt{$\backslash$+?[0-9]+}
 \item LPAREN $\rightarrow$ (
 \item RPAREN $\rightarrow$ )
 \item CIRCLE $\rightarrow$ [cC][iI][rR][cC][lL][eE]
 \item BOX $\rightarrow$ [bB][oO][xX]
 \item MOVE $\rightarrow$ [mM][oO][vV][eE]
 \item SCALE $\rightarrow$ [sS][cC][aA][lL][eE]
 \item ROTATE $\rightarrow$ [rR][oO][tT][aA][tT][eE]
 \item REPEAT $\rightarrow$ [rR][eE][pP][eE][aA][tT]
 \item DEFINE $\rightarrow$ [dD][eE][fF][iI][nN][eE]
 \item LABEL $\rightarrow$ cualquier cadena de letras que no tenga otro token asignado.
\end{itemize}

\subsection{Otros s\'imbolos de la gram\'atica}

\begin{itemize}
 \item $\textbf{statement}$: representa un c\'odigo v\'alido en F. ( $\leftarrow$ \textit{s\'imbolo distinguido})
 \item $graphic$: representa un gr\'afico.
 \item $graphicUnion$: representa un gr\'afico. Lo usamos para asociar la uni\'on a izquierda.
 \item $num$: representa un n\'umero cualquiera.
\end{itemize}

\subsection{Producciones}
\noindent statement $\rightarrow$ graphic $|$ graphicUnion (un gr\'afico es un c\'odigo v\'alido)\\
graphic $\rightarrow$ CIRCLE num (un c\'irulo es un gr\'afico)\\
graphic $\rightarrow$ BOX num num (un rect\'angulo es un gr\'afico)\\
graphic $\rightarrow$ MOVE num num graphic (el desplazamiento de un gr\'afico es un gr\'afico)\\
graphic $\rightarrow$ SCALE num num graphic (el escalado de un gr\'afico es un gr\'afico)\\
graphic $\rightarrow$ ROTATE num graphic (la rotaci\'on de un gr\'afico es un gr\'afico)\\
graphic $\rightarrow$ REPEAT NATURAL num num graphic  (la repetici\'on de un gr\'afico es un gr\'afico)\\
graphic $\rightarrow$ DEFINE LABEL graphic (la definici\'on de una etiqueta es un gr\'afico)\\
graphic $\rightarrow$ LABEL (una etiqueta es un gr\'afico hasta que se demuestre lo contrario; expilcado m\'as adelante)\\
graphic $\rightarrow$ LPAREN graphic RPAREN $|$ LPAREN graphiUnion RPAREN\\
graphicUnion $\rightarrow$ graphicUnion graphic $|$ graphic (asociaci\'on de la uni\'on a izquierda)\\
num $\rightarrow$ NATURAL (un n\'umero natural es un n\'umero)\\
num $\rightarrow$ NOTNATURAL (un n\'umero no-natural es un n\'umero)\\




